package edu.cuit.zhuyimeng.uaa.service;

import edu.cuit.zhuyimeng.uaa.controller.vo.UserInfoVO;

import java.util.List;

/**
 * 用户相关业务
 */
public interface IUserService {

    /**
     * 根据loginId获取用户权限
     *
     * @param loginId
     * @return 权限列表
     */
    List<String> getPermissionsByLoginId(String loginId);

    /**
     * 根据loginId获取用户角色
     *
     * @param loginId
     * @return 角色名称
     */
    String getRoleByLoginId(String loginId);

    /**
     * 用户登录
     *
     * @param loginId    用户名
     * @param password   密码
     * @param rememberMe 记住我
     */
    void login(String loginId, String password, Boolean rememberMe);

    /**
     * 用户登出
     */
    void logout();

    /**
     * 用户注册
     *
     * @param loginId  用户名
     * @param password 密码
     * @param email    邮箱
     * @param phone    手机号
     */
    void register(String loginId, String nickname, String password, String email, String phone);

    /**
     * 根据loginId获取用户信息
     * @param loginId 用户名
     * @return 用户信息
     */
    UserInfoVO getUserInfoByLoginId(String loginId);

    /**
     * 删除用户
     * @param name 用户名
     */
    void deleteUser(String name);

    /**
     * 更新用户角色
     * @param name 用户名
     * @param roleId 角色id
     */
    void updateUserRole(String name,Integer roleId);

}
